package com.zhiyou100.day05;

public class ArrayDemo {
    public static void main(String[] args) {
        /*
         * 数组的声明
         *      数据类型 [] 数组名:
         * 数组名 = new 数据类型[数组长度]
         */
        int [] a;
        a = new int[5];
        // 赋值 数组名[下标] = 值;
        a[3] = 3;
        // a[5] = 1;   //  java.lang.ArrayIndexOutOfBoundsException: 5 数组索引越界
        a[4] = 4;
        // 修改值，直接赋值会覆盖前面的
        a[4] = 6;
        // 获取值
        int h = a[4];
        System.out.println("a[4]=" + h);
        /* 获取数组的长度 数组名.length
         * 基本数据类型和引用数据类型的区别
         * 引用数据类型有自己的属性和方法，基本数据类型没有
         */
        int l = a.length;
        System.out.println("数组a的长度为" + l);

        /*
         * 数组的声明2
         * 数据类型 [] 数组名;
         * 数组名 = new 数据类型 [] {元素1， 元素2，...};
         *
         */
        int [] b = new int[]{1, 2, 3, 4, 5};

        /*
         * 数组的声明3
         * 数据类型 [] 数组名 = {元素1， 元素2， 元素3};
         */
        // 遍历输入数组
        int[]c = {1, 2, 3, 4, 5};
        for (int i=0;i<c.length;i++){
            System.out.print("c[" + i + "]=" + c[i] + " ");
        }
        System.out.println();

        // 求出数组里的最大值和最小值
        int[]d = {3, 9, 23, 1, 5, 4};
        int min_d = d[0]; int  max_d = d[0];
        for(int i=1; i<d.length; i++){
            if(d[i]>max_d){
                max_d = d[i];
            }
            if(d[i]<min_d){
                min_d = d[i];
            }
        }
        System.out.println("数组d的最大值为" + max_d + "，最小值为" + min_d);

        // x,y的值互换
        int x = 1;
        int y = 2;
        int t;
        t = x; x = y; y = t;
        System.out.println("x的值为" + x + ", y的值为" + y);
        String strs[] = new String[]{"a" ,"b" ,"c"};
        double f = 45.3;

    }
}
